﻿//------------------------------------------------------------------------------
// <copyright file="RpcRequestQueueFullException.cs" company="Microsoft">
//     Copyright (c) Microsoft Corporation.  All rights reserved.
// </copyright>
//------------------------------------------------------------------------------

namespace Microsoft.Internal.GamesTest.Rpc.Client
{
    using System;

    /// <summary>
    /// An exception type for when the server side request queue is full, and the user attempts
    /// to submit a new request.
    /// </summary>
    [Serializable]
    public class RpcRequestQueueFullException : RpcException
    {
        /// <summary>
        /// Initializes a new instance of the RpcRequestQueueFullException class.
        /// </summary>
        public RpcRequestQueueFullException()
        {
        }

        /// <summary>
        /// Initializes a new instance of the RpcRequestQueueFullException class.
        /// </summary>
        /// <param name="message">The message describing the purpose for throwing this exception.</param>
        public RpcRequestQueueFullException(string message)
            : base(message)
        {
        }

        /// <summary>
        /// Initializes a new instance of the RpcRequestQueueFullException class.
        /// </summary>
        /// <param name="message">The message describing the purpose for throwing this exception.</param>
        /// <param name="inner">Any applicable inner exception.</param>
        public RpcRequestQueueFullException(string message, Exception inner)
            : base(message, inner)
        {
        }

        /// <summary>
        /// Initializes a new instance of the RpcRequestQueueFullException class.
        /// </summary>
        /// <param name="info">The SerializationInfo for this exception.</param>
        /// <param name="context">The StreamingContext for this exception.</param>
        protected RpcRequestQueueFullException(
          System.Runtime.Serialization.SerializationInfo info,
          System.Runtime.Serialization.StreamingContext context)
            : base(info, context)
        {
        }
    }
}
